/***************************************************************************/
/* Procedimiento:  Aduana_Cabotaje_ClientesInsertar
/* Descripcion:   Insertar o Modifica una fila en la tabla Aduana_Cabotaje_Clientes
/* Parametros:    ?InfoParametros
/*                pTransaccion. Numero identificador de la Transaccion
/*                pMensaje. Mensaje de comfirmacion o excepcion
/* Comentarios:         
/****************************************************************************/

PROCEDURE  Aduana_Cabotaje_ClientesInsertarModificar(pnombre VARCHAR2, prfc VARCHAR2, pdireccion VARCHAR2, 
								pestado VARCHAR2, prepresentante VARCHAR2, pcorreo VARCHAR2, 
								pcodigo VARCHAR2, pcp VARCHAR2, ptipo_empresa VARCHAR2, 
								pnidpuerto NUMBER, pcomentarios VARCHAR2, pnidempresa NUMBER, 
								pactivo CHAR, pniddocumento NUMBER,  pTransaccion OUT NUMBER, pMensaje OUT VARCHAR2)
AS
vExisteRegistro NUMBER(1);
BEGIN
  SELECT count(*)
  INTO   vExisteRegistro
  FROM   Aduana_Cabotaje_Clientes
  WHERE  nidDocumento=pNidDocumento;
  
  IF vExisteRegistro=0 THEN
    INSERT INTO Aduana_Cabotaje_Clientes
	           (nid, nombre, rfc, 
				direccion, estado, representante, 
				correo, codigo, cp, 
				tipo_empresa, nidpuerto, comentarios, 
				nidempresa, activo, niddocumento)
    VALUES     (seq_Aduana_Cabotaje_Clientes.nextval, pnombre, prfc, 
				pdireccion, pestado, prepresentante, 
				pcorreo, pcodigo, pcp, 
				ptipo_empresa, pnidpuerto, pcomentarios, 
				pnidempresa, pactivo, pniddocumento);
  ELSE
    UPDATE Aduana_Cabotaje_Clientes
    SET    nombre=pnombre, rfc=prfc, 
			direccion=pdireccion, estado=pestado, representante=prepresentante, 
			correo=pcorreo, codigo=pcodigo, cp=pcp, 
			tipo_empresa=ptipo_empresa, nidpuerto=pnidpuerto, comentarios=pcomentarios, 
			nidempresa=pnidempresa, activo=pactivo, niddocumento=pniddocumento
    WHERE  nidDocumento=pNidDocumento;
  END IF;
  
  COMMIT;
  pTransaccion := 1;
  pMensaje := 'Terminado OK';
  dbms_output.put_line('Terminado OK');

EXCEPTION
  WHEN OTHERS THEN
    pTransaccion := 0;
    pMensaje := 'Error en  Aduana_Cabotaje_Clientes_InsertarModificar:' || SQLCODE || ' Mensaje: ' || sqlerrm;
    dbms_output.put_line('Error en  Aduana_Cabotaje_Clientes_InsertarModificar:' || SQLCODE || ' Mensaje: ' || sqlerrm);
END;
